Skip to main content
TrustRadius
HashiCorp Terraform

HashiCorp Terraform

Overview

What is HashiCorp Terraform?

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst…

Read more
Recent Reviews

TrustRadius Insights

Fast and Reliable Infrastructure Deployment: Users appreciate Terraform's ability to deploy infrastructure quickly and reliably. Several …
Continue reading

Terraform Review

8 out of 10
July 12, 2021
Terraform is currently being used to deploy infrastructure to GCP. We are mindful of the fact that some components might need other cloud …
Continue reading

Terraform Review

9 out of 10
February 15, 2021
Incentivized
We use Terraform to deploy our infrastructure into AWS at an enterprise level. We support more than 700 developers across different brands …
Continue reading
Read all reviews

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing

Open Source

$0

Cloud

Team & Governance

$20/user

Cloud
per user/per month

Enterprise

Contact sales team

Cloud

Entry-level set up fee?

  • No setup fee
For the latest information on pricing, visithttps://www.hashicorp.com/products/terr…

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services
Return to navigation

Product Demos

Infrastructure Pipelines with Terraform Cloud

YouTube
Return to navigation

Product Details

What is HashiCorp Terraform?

HashiCorp Terraform is an infrastructure as code tool that lets the user define both cloud and on-prem resources in human-readable configuration files that the user can version, reuse, and share. A consistent workflow can then be used to provision and manage infrastructure throughout its lifecycle. Terraform can manage low-level components like compute, storage, and networking resources, as well as high-level components like DNS entries and SaaS features.

Terraform creates and manages resources on cloud platforms and other services through their application programming interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.

HashiCorp Terraform Features

  • Supported: Manage any Infrastructure
  • Supported: Track your infrastructure
  • Supported: Automate changes
  • Supported: Standardize configurations

HashiCorp Terraform Screenshots

Screenshot of Terraform StateScreenshot of Terraform RunsScreenshot of Terraform VariablesScreenshot of Terraform WorkspacesScreenshot of Terraform Cost Estimation

HashiCorp Terraform Technical Details

Deployment TypesSoftware as a Service (SaaS), Cloud, or Web-Based
Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned. It is available Open Source, and via Cloud and Self-Hosted editions.

Red Hat Ansible Automation Platform, Jenkins, and GitHub are common alternatives for HashiCorp Terraform.

Reviewers rate Performance highest, with a score of 9.4.

The most common users of HashiCorp Terraform are from Mid-sized Companies (51-1,000 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(122)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Fast and Reliable Infrastructure Deployment: Users appreciate Terraform's ability to deploy infrastructure quickly and reliably. Several reviewers have mentioned that they were able to provision resources efficiently, saving them time and effort in the deployment process.

Modular Approach with Reusable Modules: The use of modules in Terraform is highly valued by users, as it enables repeatability and encourages code reuse. Many reviewers have stated that they find it easy to share and reuse functionality across deployments, promoting collaboration and consistency among teams.

Large Ecosystem of Modules for Various Providers: Users highly value the extensive ecosystem of modules available in Terraform for various providers. Numerous reviewers have stated that this allows them to easily access strong default configurations for many services, saving them time and effort in setting up their infrastructure.

Complex Documentation: Many users have found the documentation for the new language to be complex and lacking clear explanations, making it difficult for them to understand and use Terraform effectively. They express frustration with the lack of concise and intuitive explanations in the documentation, which hinders their ability to grasp key concepts.

Challenging Rollback Operations: Users have expressed difficulty in performing rollback operations as it must be done through version control. This process is seen as cumbersome and unintuitive, requiring extra steps that could be simplified with a dedicated rollback feature within Terraform itself.

Unusual Language Design: The language used in Terraform is considered unusual by many users, which makes it challenging for new users to understand and navigate the codebase. Some users find it unconventional compared to other infrastructure-as-code tools, leading to confusion when reading or modifying existing code.

Users have provided several recommendations for Terraform based on their experiences with the tool for automating cloud infrastructure management.

First, users suggest taking the time to understand and implement Terraform modules properly. This recommendation emphasizes the importance of familiarizing oneself with the module system in order to effectively leverage the capabilities of Terraform.

Second, users recommend reading through the documentation and reaching out to Hashicorp for assistance when facing issues. By doing so, users believe that they can overcome any challenges they encounter and make the most of Terraform's features.

Lastly, some users advise considering other Infrastructure as Code (IaC) platforms, but acknowledge that Terraform is a great and flexible open-source option. This recommendation highlights the need for users to evaluate different options before making a final decision on their cloud infrastructure automation tool.

Attribute Ratings

Reviews

(1-5 of 5)
Companies can't remove reviews or game the system. Here's why
Score 9 out of 10
Vetted Review
Verified User
Incentivized
It is used by our Cloud Services team. The business problems it addresses are automation and repeatability for things like multi environment deployments or for deploying duplicate architecture for each customer that a client may have. Our organization deals with many clients every day and some want their cloud environments to be architected in Terraform in order to easily deploy to new accounts, cloud providers, or even to other regions within an account.
  • Provides detailed examples with documentation
  • Allows public modules to be easily used for simple coding
  • Easy setup and deployment to start writing Terraform
  • Finding what resources and services are created by Terraform within a cloud environment - you can use tags but it is not as easy as it can be.
  • Provide direction on proper coding and best practices of how to setup the templates/modules.
It is great for deploying relatively static architectures to new accounts or regions in the cloud. It can easily do other architectures but the best case is resources that are defined, the parameters can change but when you know what resources/services you need it's great. Less appropriate are cases where you will be dynamically changing resources or parameters on certain resources. It also might be difficult to write modules that use Lambda and things that have their own code base. This can be done but it's not as easy as simple tasks.
  • Public support
  • Reuse of modules and code
  • Simple and consistent method to deploy architecture to the cloud
  • Decrease time to failover to a disaster recovery region/environment to minutes versus hours
  • Decrease time to setup new environment from days to minutes/hours
  • Reduce the amount of time needed to deploy architecture by reusing code that we have developed internally along with using publicly available modules.
CloudFormation is only for AWS so if you're trying to deploy to another cloud provider then Terraform is your product. Terraform has lots of public support so you can find answers to questions by Googling. CloudFormation is easy to view the resources/services that are deployed using those stacks which is better than Terraform supplies but I don't think that outweighs the ease of learning and deploying that Terraform has. Also, with Terraform you can deploy easily to multiple environments with few commands, which CloudFormation can't do. Using a tool such as Runway allows you to setup deployments so they can be automated to multiple environments at a time.
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Terraform is currently being used to provision our resources in the cloud. This is by far the best way to achieve full automation when migrating to the cloud and is great a working with AWS.
  • AWS Resource Provisioning: Terraform is great at provisioning resources within AWS. Sometimes, there are some tricky bits when it interacts with the AWS API, but those are typically API limitations with AWS and not reflective of Terraform's abilities.
  • State: Since using Terraform, I have not had any issue managing resource state using Terraform. It's a little tricky to set up remote state, but once implemented it's smooth sailing from then on in my experience.
  • Extensibility: Terraform has really been written as a gateway to bigger and better things. It's so easy to extend terraform with your own modules, to submit PRs with new functionality, and it integrates well with other tooling.
  • Upgrades: It's really hard to do major upgrades of terraform without breaking something. The upgrade from 11 to 12 has been pretty brutal.
  • Setting up remote state: Despite pretty good documentation, setting up remote state initially is pretty tricky and in my experience required a little of the "you have to run it this way once, then create this thing, then run it again" kind of workflows which are always a little painful
Terraform is well suited for provisioning any kind of system in my opinion. You can use it for cloud resources, but you can also use it for on-prem stuff as well (though the latter may be a little more difficult).
I love Terraform and I think it has done some great things for people that are working to automate their provisioning processes and also for those that are in the process of moving to the cloud or managing cloud resources. There are some quirks to HCL that take a little bit of getting used to and give picking up Terraform a little bit of a learning curve, thus the rating.
While I have not had any interaction with actual Hashicorp support, their documentation in great which in itself is a testament to their abilities with regard to supporting their products.
Chef, Consul
Dhruba Jyoti Nag | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Terraform is used to automate resource deployment in AWS using scripts. It is used by entire IT to deploy systems in AWS. The automation has saved hundreds of thousands of dollars in time and money. Since there is no manual deployment, there are no errors during deployments and developers can deploy in production since everything is defined in scripts.
  • Terraform is a premier IAAS tool.
  • It provides modularization and planning features.
  • It is platform and language agnostic.
  • It is open source and thus has strong community support.
  • Terraform is vulnerable when it comes to error handling.
  • Often when a terraform job is terminated midway, it leads to an inconsistent state of the deployed resources which needs manual cleanup.
  • Terraform is an open source tool and has a related learning curve.
Terraform is more versatile when compared to cloud formation. It is cloud-agnostic, so unlike cloud formation, it is able to deploy resources in cloud ecosystems other than AWS. The code can be modularized, hence there is ample scope of reuse. It can also be used to deploy apps written in various languages. In short, it makes deployment to cloud a breeze.
  • Deployment to cloud has been made easier.
  • Developers do not need to know much, they can just do minor tweaks by changing variables and parameters here and there and manage to deploy to AWS.
  • This has resulted in dollar benefits because deployment through the script is error-free compared to manual deployment.
Terraform is open source and has strong community support. It is cloud-agnostic versus competing products like AWS cloud formation, hence has a distinct advantage. The scripts once set up are easy for developers to administer during development, hence during production releases, solution developers can manage the entire process without the need for admins.
Amazon S3 (Simple Storage Service), Amazon DynamoDB, Gitlab
Terraform's performance is quite amazing when it comes to deployment of resources in AWS. Of course, the deployment times depend on various parameters like the number of resources to deploy and different regions to deploy. Terraform cannot control that. The only minor drawback probably shows up when a terraform job is terminated mid way. Then in many cases, time-consuming manual cleanup is required.
Terraform is easy to integrate with AWS. We can import existing infrastructure scripts using terraform as well as migrate existing cloud infrastructure. It is extremely easy to integrate terraform scripts with AWS infrastructure. Terraform scripts provides modularity which in itself helps in the reuse of code. Terraform can be integrated other cloud ecosystems as well as different languages.
Aiman Najjar | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We use Terraform for our clients to implement Infrastructure as Code. Our clients are typically seeking our services to get up to speed on DevOps strategies and culture. We almost always recommend Terraform for cloud infrastructure orchestration especially since Terraform supports various cloud providers and has rich constructs for modularity and reusability.
  • Great implementation of Infrastructure as Code concept.
  • Supports various cloud providers, including AWS, Azure and OpenStack
  • Encourages good design practices
  • Collaboration is made possible by using remote backend to store state files (such as S3)
  • Product is still maturing and there are some design limitation
  • Refactoring infrastructure code can sometimes become troublesome and unnecessarily require re-creating resources (such as when renaming resources)
  • Collaboration requires proper training or could result in dangerous outcome, engineers may easily overwrite remote state file or step on each other's toes. Collaboration process needs some improvement.
Infrastructure as Code: Best suited for cloud infrastructure but could work for data center infrastructure. Terraform is good for orchestrating infrastructure, not "configuring" it, e.g. even though you can use cloud-init to provision and install packages. For advanced configuration management, you will probably need a tool like Chef or Puppet
  • Terraform is open source and free and learning curve is medium. It is an amazing investment overall that leads businesses to have a clean and well-maintained inventory
  • Terraform simplifies orchestrating complex infrastructure setups, such as clusters that involve different types of AWS resources can be templated and reused to provision new environments or rebuild existing ones, making the business truly agile.
  • Conventions can be enforced be using organization-level modules, such as naming conventions, tagging requirements,..etc
  • Cloud Formation
- Terraform syntax is much easier to read and learn than Cloud Formation. - Terraform already supports AWS as well as several other cloud providers. - Terraform is backed by a great and supportive open-source community.
Chef, Ansible, Docker, Terraform, Puppet Data Center Automation, MongoDB
Kyle Rockman | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
The entire Under Armour Connected Fitness business unit leverages terraform to treat our infrastructure as code - with a UI wrapped on top of it to give federated access to all our developers.
  • Configuration as Code in a modular reusable manner.
  • The plan apply life cycle is the best, it gives structure to what can sometimes be a scary process of modifying your infrastructure - even after it has aged or hasn't been touched in years.
  • Integrating with many outside services and providers keeps us from having to hack things together.
  • Integration with Hashicorp's Vault for secret management and temporary credentials makes giving out access a breeze.
  • It's a command-line tool and as such, some users in our organization are not comfortable with that. We ended up wrapping the tool with a UI to give the less skilled users access as well as layering on top a templating system to abstract away best practices and make things far simpler to configure.
Our experience switching from Salt Stack to Terraform has been so beneficial and the uptake has been far stronger by our users than it ever was with Salt Stack. I still think Terraform could do with a usability pass to reduce the learning curve and a UX pass to facilitate use by those who do not like command-line tools.
  • Infrastructure as code federated out to the developers themselves freeing up our OPS/Infrastructure team from doing the work to more of a consulting role
Terraform has made better choices in how their product works, is used over time, and can be integrated with.
Return to navigation